package com.mate.cloud.codegen.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mate.cloud.codegen.domain.GenDatasourceConf;
/**
 * 数据源表
 * @link {https://gitee.com/leo-forever/dynamic-datasource}
 * @author:         MI
 * @email:          448341911@qq.com
 * @createDate:     2023/11/5 21:15
 * @updateUser:     MI
 * @updateDate:     2023/11/5 21:15
 * @updateRemark:   修改内容
 * @version:        v1.0
 */
public interface GenDatasourceConfService extends IService<GenDatasourceConf> {
    /**
     * 保存数据源并且加密
     *
     * @param genDatasourceConf
     * @return
     */
    Boolean saveDsByEnc(GenDatasourceConf genDatasourceConf);

    /**
     * 更新数据源
     *
     * @param genDatasourceConf
     * @return
     */
    Boolean updateDsByEnc(GenDatasourceConf genDatasourceConf);

    /**
     * 更新动态数据的数据源列表
     *
     * @param datasourceConf
     * @return
     */
    void addDynamicDataSource(GenDatasourceConf datasourceConf);


    /**
     * 校验数据源配置是否有效
     *
     * @param datasourceConf 数据源信息
     * @return 有效/无效
     */
    Boolean checkDataSource(GenDatasourceConf datasourceConf);

    /**
     * 通过数据源名称删除
     *
     * @param dsId 数据源ID
     * @return
     */
    Boolean removeByDsId(Integer dsId);
}
